feat: resource conflict#976
Merged
Merged
Conversation
…p conflicts during redeployments
…able for managing resource conflicts
…and UI improvements
…onflict details fetching
There was a problem hiding this comment.
Pull request overview
This PR adds resource conflict handling functionality for CD deployments. When a deployment fails due to Helm resource ownership conflicts, users can now view the conflicting resources and redeploy by taking ownership of them.
Key Changes:
- Added resource conflict detection and display infrastructure with modals and tables
- Implemented redeploy functionality with ownership takeover capability
- Enhanced trigger details to show conflict warnings and actions for the latest deployment
Reviewed changes
Copilot reviewed 15 out of 15 changed files in this pull request and generated 13 comments.
Show a summary per file
| File | Description |
|---|---|
src/Shared/Helpers.tsx |
Added getGVKTitle helper to format GVK (Group/Version/Kind) information for display |
src/Shared/Components/CICDHistory/utils.tsx |
Added getSortedTriggerHistory utility to sort trigger history by ID in descending order |
src/Shared/Components/CICDHistory/types.tsx |
Added type definitions for resource conflict modals, API payloads, and data structures |
src/Shared/Components/CICDHistory/service.tsx |
Added API service methods for fetching conflict details and triggering redeployment |
src/Shared/Components/CICDHistory/constants.tsx |
Added error message constant and table column configuration for conflicted resources |
src/Shared/Components/CICDHistory/WorkerStatus.tsx |
Added children prop support to allow rendering additional content |
src/Shared/Components/CICDHistory/TriggerOutput.tsx |
Refactored to use typed URL params and compute latest trigger for conflict detection |
src/Shared/Components/CICDHistory/TriggerDetails.tsx |
Integrated resource conflict UI with info block and modal triggers |
src/Shared/Components/CICDHistory/Sidebar.tsx |
Refactored to use shared sorting utility for trigger history |
src/Shared/Components/CICDHistory/ResourceConflictDetailsModal.tsx |
New modal component to display and manage conflicting resources with redeploy action |
src/Shared/Components/CICDHistory/ResourceConflictDeployDialog.tsx |
New confirmation dialog for resource ownership takeover and redeployment |
src/Shared/Components/CICDHistory/ConflictedResourcesTable.tsx |
New table component to display list of conflicting resources |
src/Shared/Components/CICDHistory/ConflictedResourcesTable.scss |
Styling for the conflicted resources table |
src/Common/Constants.ts |
Added new API route for fetching resource conflicts |
src/Common/API/reactQueryHooks.ts |
Enhanced type parameters to support optional response wrapping |
💡 Add Copilot custom instructions for smarter, more guided reviews. Learn how to get started.
…tifactId handling
vivek-devtron
previously approved these changes
Dec 10, 2025
vivek-devtron
previously approved these changes
Dec 12, 2025
…g and ResourceConflictDetailsModal
arunjaindev
previously approved these changes
Dec 12, 2025
vivek-devtron
previously approved these changes
Dec 12, 2025
0f1d57f
vivek-devtron
approved these changes
Dec 12, 2025
abhibhaw
approved these changes
Dec 12, 2025
This file contains hidden or bidirectional Unicode text that may be interpreted or compiled differently than what appears below. To review, open the file in an editor that reveals hidden Unicode characters.
Learn more about bidirectional Unicode characters
Sign up for free
to join this conversation on GitHub.
Already have an account?
Sign in to comment
Add this suggestion to a batch that can be applied as a single commit.This suggestion is invalid because no changes were made to the code.Suggestions cannot be applied while the pull request is closed.Suggestions cannot be applied while viewing a subset of changes.Only one suggestion per line can be applied in a batch.Add this suggestion to a batch that can be applied as a single commit.Applying suggestions on deleted lines is not supported.You must change the existing code in this line in order to create a valid suggestion.Outdated suggestions cannot be applied.This suggestion has been applied or marked resolved.Suggestions cannot be applied from pending reviews.Suggestions cannot be applied on multi-line comments.Suggestions cannot be applied while the pull request is queued to merge.Suggestion cannot be applied right now. Please check back later.
Description
This pull request introduces a new feature for handling and resolving resource ownership conflicts during deployments, particularly in Helm-based environments. It adds UI components to display conflicted resources, provides detailed information in a modal, and enables users to take ownership and redeploy directly from the deployment history. Additionally, there are improvements to code organization and minor API enhancements.
Resource Conflict Handling and UI Enhancements:
ConflictedResourcesTable,ResourceConflictDetailsModal, andResourceConflictDeployDialogcomponents to display and resolve resource ownership conflicts, including a warning/info block and redeploy action in the deployment history UI. [1] [2] [3] [4] [5] [6]TriggerDetailscomponent, showing actionable info blocks and modals when conflicts are present. [1] [2]RESOURCE_CONFLICTS_LIST) inConstants.ts.Code and API Improvements:
useQueryhook to support toggling the wrapping of response types, improving flexibility for API calls.getSortedTriggerHistoryand typed route parameters. [1] [2] [3] [4]Other Minor Improvements:
TriggerOutput. [1] [2]These changes collectively improve the user experience for resolving deployment issues related to resource ownership, streamline the codebase, and enhance API handling flexibility.
Type of change
How Has This Been Tested?
Please describe the tests that you ran to verify your changes. Provide instructions so we can reproduce. Please also list any relevant details for your test configuration
Checklist